#pragma once

// Menu class contains a list of MenuButtons
// It has a function to initialize and create
// the buttons and pass updates and mouse clicks
// to them

#include "MenuButton.h"
#include <vector>

class Menu
{
public:
	Menu();
	virtual ~Menu();

	// updates all buttons in the list based on mouse
	// position and clicked status. Returns true
	// if any of its buttons were pressed
	void Update(POINT mousepos, bool clicked);

	// renders all menu buttons
	void Render(void);

	// runs relevant device reset command
	void OnResetDevice(float bbwidth, float bbheight);

	// returns whether the mouse is over a button in this UI (has focus)
	bool HasFocus(void) {return mHasFocus;};

protected:
	std::vector<MenuButton*> mButtons;
	bool mHasFocus;
};